package swingxrcp.framework.client.swingx.action;

import java.awt.Component;

import swingxrcp.framework.client.swingx.SwingX;

/**
 *
 * @TODO 操作（IAction）表示可以由最终用户触发的命令。操作通常与按钮、菜单项和工具栏中的项相关联。
 *
 * 尽管操作本身不放置在用户界面中，但是它们确实具有面向用户界面的属性，例如，工具提示文本、标签文本
 *
 * 和图像。这允许其它类为操作的表示构造窗口组件。
 *
 * 当用户触发用户界面中的操作时，就会调用该操作的 execute 方法来执行实际工作。
 *
 * @author Fengyiyun
 *
 */
public interface IAction {

	/**
	 * 注册组件动作
	 *
	 * @param swingx
	 *            容器对象
	 * @param component
	 *            绑定组件
	 * @param method
	 *            组件绑定方法
	 * @param actionType
	 *            事件类型
	 */
	public void registerAction(SwingX swingx, Component component, String method, int actionType);

	/**
	 * 运行绑定方法,添加线程处理
	 *
	 * @param swingx
	 *            容器对象
	 * @param method
	 *            组件绑定方法
	 */
	public void execute(SwingX swingx, String method);

}
